package samfeng.erp.quant.controller.admin.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("管理后台 - 仓库计算记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class QuantPageReqVO extends PageParam {

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date[] createTime;

    @ApiModelProperty(value = "产品单位")
    private Long productUomId;

    @ApiModelProperty(value = "产品")
    private Long productId;

    @ApiModelProperty(value = "产品类型")
    private Long lastCategoryId;

    @ApiModelProperty(value = "仓库")
    private Long warehouseId;

    /**
     * 仓库名称
     */
    @TableField(exist = false)
    private String warehouseName;

    @ApiModelProperty(value = "库位")
    private Long locationId;

    /**
     * 库位名称
     */
    @TableField(exist = false)
    private String locationName;

    @ApiModelProperty(value = "数量")
    private Double quantity;

    @ApiModelProperty(value = "预留数量")
    private Double reservedQuantity;

    @ApiModelProperty(value = "可用数量")
    private Double availableQuantity;

    @ApiModelProperty(value = "计数数量")
    private Double inventoryQuantity;

    @ApiModelProperty(value = "差异数量")
    private Double inventoryDiffQuantity;

    @ApiModelProperty(value = "安排的日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date[] inventoryDate;

}
